Video signal processing systems that utilize storage media having digitally compressed video and audio information recorded thereon include, amongst other devices, a digital video disc player adapted to process information stored in accordance with the digital video disc (DVD) specification. The information on a DVD formatted disc is recorded as discrete packets of data, in accordance with the applicable video and audio data compression standards, wherein designated packets carry data associated with various data streams, such as alternative video angles, audio tracks, subpicture streams and navigation information. A video disc player reading a DVD formatted disc may be controlled to display certain packets of data and skip over others. A single disc may be authored to allow playback of multiple camera angles, story endings, scenes according to a ratings content, etc. DVD subpictures are used as the graphical user interface (GUI) for such features as providing the user the ability to select from one of several different videos on a disc. Using this capability, the DVD system can be used to prevent unauthorized access to information on a particular disc as well as seamlessly provide multiple variations of a video title in accordance with user commands. Current DVD players mix the decoded subpicture information with the decoded video into a single analog video signal for transport to a television.
A device such as a DVD player may be coupled to other devices, such as a display device, a video/audio recording device, audio equipment and communicate with these other devices via a data bus. Such communication occurs in accordance with a bus protocol. Examples of bus protocols include the Consumer Electronics Bus (CEBus) and the IEEE 1394 High Performance Serial Bus. A bus protocol typically provides for communicating both control information and data. For example, CEBus control information is communicated on a “control channel” having a protocol defined in Electronics Industries Association (EIA) specification IS-60. On an IEEE 1394 serial bus, control information is generally passed using the asynchronous services of the serial bus. Control information for a particular application can be defined using a programming language such as for example, Common Application Language (CAL) or AV/C.